草庐IT

Android TalkBack 和 fragment 堆栈

全部标签

c - 使堆栈指针指向 mmap 返回的指针。 (Linux,32 位虚拟机)

我试图将我的堆栈指针移动到一个mmap-ed区域以模拟上下文切换,但不知何故下面的代码总是给出一个段错误:C:structsavectx{void*regs[JB_SIZE];};structsavectx*initctx=(structsavectx*)malloc(sizeof(savectx));void*newsp;if((newsp=mmap(0,STACK_SIZE,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,0,0))==MAP_FAILED){perror("mmapfailed");}initctx->regs[4]=

c - 在 HP-UX 和 Linux 上展开堆栈

我需要在某些点上获取我的C应用程序的堆栈信息。我已经阅读了文档并搜索了网络,但仍然无法弄清楚我该怎么做。你能指出一个简单的过程解释吗?或者,更好的是,堆栈展开的示例。我需要它用于HP-UX(Itanium)和Linux。 最佳答案 查看linux/stacktrace.h这是一个API引用:http://www.cs.cmu.edu/afs/cs/Web/People/tekkotsu/dox/StackTrace_8h.html应该适用于所有Linux内核这是C中的一个替代示例,来自http://www.linuxjournal.

c - 在 HP-UX 和 Linux 上展开堆栈

我需要在某些点上获取我的C应用程序的堆栈信息。我已经阅读了文档并搜索了网络,但仍然无法弄清楚我该怎么做。你能指出一个简单的过程解释吗?或者,更好的是,堆栈展开的示例。我需要它用于HP-UX(Itanium)和Linux。 最佳答案 查看linux/stacktrace.h这是一个API引用:http://www.cs.cmu.edu/afs/cs/Web/People/tekkotsu/dox/StackTrace_8h.html应该适用于所有Linux内核这是C中的一个替代示例,来自http://www.linuxjournal.

如果变量属于堆或堆栈,我可以通过 GDB 找到吗?

我的断点指向一个变量。(指向某处。我可以弄清楚某处是堆还是堆栈?)有什么方法可以找到堆栈的开始和结束位置?有什么办法可以找到堆的开始和结束位置? 最佳答案 使用infoprocmappings获取关于内存布局的/proc信息。 关于如果变量属于堆或堆栈,我可以通过GDB找到吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5247037/

如果变量属于堆或堆栈,我可以通过 GDB 找到吗?

我的断点指向一个变量。(指向某处。我可以弄清楚某处是堆还是堆栈?)有什么方法可以找到堆栈的开始和结束位置?有什么办法可以找到堆的开始和结束位置? 最佳答案 使用infoprocmappings获取关于内存布局的/proc信息。 关于如果变量属于堆或堆栈,我可以通过GDB找到吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5247037/

linux - Docker:如何创建堆栈、多个图像或一个基础图像?

我是Docker的新手,我怀疑是否为我的堆栈使用一个图像库,或者我必须根据我的需要定义每个图像。例如,阅读一篇关于使用docker创建网站的博客,作者建议使用以下Stack:图片取自http://project-webdev.blogspot.de/2015/05/create-site-based-on-docker-part4-docker-container-architecture.html现在,看到结构,如果我们在Docker注册表中有用于mongoDB、io.JS、nginx等技术的基础镜像,为什么在这个示例中我们不使用这些镜像,而是对所有内容使用单个Docker基础镜像?

linux - Docker:如何创建堆栈、多个图像或一个基础图像?

我是Docker的新手,我怀疑是否为我的堆栈使用一个图像库,或者我必须根据我的需要定义每个图像。例如,阅读一篇关于使用docker创建网站的博客,作者建议使用以下Stack:图片取自http://project-webdev.blogspot.de/2015/05/create-site-based-on-docker-part4-docker-container-architecture.html现在,看到结构,如果我们在Docker注册表中有用于mongoDB、io.JS、nginx等技术的基础镜像,为什么在这个示例中我们不使用这些镜像,而是对所有内容使用单个Docker基础镜像?

c - 偏移量如何进入堆栈?

源代码:1intfunc()2{3inta=0x12345678;4int*p=&a;5return*p;6}8intmain()9{10intb=0x87654321;11returnb+func();12}反汇编:(gdb)disassmainDumpofassemblercodeforfunctionmain():0x0000000000400544:push%rbp0x0000000000400545:mov%rsp,%rbp0x0000000000400548:sub$0x10,%rsp0x000000000040054c:movl$0x87654321,-0x4(%rbp)

c - 偏移量如何进入堆栈?

源代码:1intfunc()2{3inta=0x12345678;4int*p=&a;5return*p;6}8intmain()9{10intb=0x87654321;11returnb+func();12}反汇编:(gdb)disassmainDumpofassemblercodeforfunctionmain():0x0000000000400544:push%rbp0x0000000000400545:mov%rsp,%rbp0x0000000000400548:sub$0x10,%rsp0x000000000040054c:movl$0x87654321,-0x4(%rbp)

linux - 中断处理程序使用哪个堆栈 - Linux

在多任务系统中,当任何硬件对特定CPU产生中断时,CPU可以执行以下任一情况,除非它已经在服务ISR:用户态进程在CPU上执行内核模式进程正在CPU上执行想知道在以上两种情况下中断处理程序使用了哪个堆栈,为什么? 最佳答案 所有中断都由内核处理。这是由为特定中断编写的中断处理程序完成的。对于中断处理程序,有IRQ堆栈。中断处理程序堆栈的设置是配置选项。内核堆栈的大小可能并不总是足以满足内核工作所需的空间IRQ处理例程。因此2stack出现了。硬件IRQ堆栈。软件IRQ堆栈。与按进程分配的常规内核堆栈相比,两个额外的堆栈是按CPU分配